home *** CD-ROM | disk | FTP | other *** search
/ ETO Development Tools 1 / ETO Development Tools 1.iso / Tools - Objects / MacApp / Unsupported Samples / CRC Cards / Source / UMyViews.p < prev    next >
Encoding:
Text File  |  1990-07-11  |  10.8 KB  |  281 lines  |  [TEXT/MPS ]

  1. Unit UMyViews;
  2.  
  3. INTERFACE
  4.  
  5. USES
  6.     UMacApp,
  7.     ToolUtils,
  8.     Resources,
  9.     Packages,
  10.     UPrinting,
  11.     UTEView,
  12.     UDialog,
  13.     UGridView,
  14.     UCRCCards,
  15.     UItem,
  16.     UCard,
  17.     UDesignDocument,
  18.     UMyCommands,
  19.     UTextHandler;
  20.  
  21. TYPE
  22.  
  23.     TDesignView = OBJECT(TView)
  24.         fDesignDocument: TDesignDocument;
  25.         fSimpleViewList: TList;
  26.         
  27.         FUNCTION TDesignView.GetDocument: TDesignDocument;
  28.         PROCEDURE TDesignView.SetDocument(theDesign:TDesignDocument);
  29.         FUNCTION TDesignView.GetSimpleViewList: TList;
  30.         PROCEDURE TDesignView.SetSimpleViewList(theSimpleViewList:TList);
  31.         PROCEDURE TDesignView.IRes(itsDocument: TDocument; 
  32.                          itsSuperView: TView; VAR itsParams: Ptr); OVERRIDE;
  33.         PROCEDURE TDesignView.CalcMinSize(VAR minSize: VPoint); OVERRIDE;
  34.         FUNCTION TDesignView.MakeDeleteCardCmd: TDeleteCardCommand;
  35.         FUNCTION TDesignView.MakeAddCardCmd(theVPoint: VPoint): TAddCardCommand;
  36.         FUNCTION TDesignView.DoMouseCommand(VAR theMouse: Point; VAR info: EventInfo;
  37.                               VAR hysteresis: Point): TCommand; OVERRIDE;
  38.         FUNCTION  TDesignView.DoMenuCommand(aCmdNumber: CmdNumber):TCommand;OVERRIDE;
  39.         PROCEDURE TDesignView.DoSetupMenus; OVERRIDE;
  40.         PROCEDURE TDesignView.Free; OVERRIDE;
  41.         PROCEDURE TDesignView.Fields(PROCEDURE DoToField(fieldName: Str255; fieldAddr: Ptr; 
  42.                 fieldType: INTEGER)); OVERRIDE;
  43.     END;
  44.     
  45.     TEditView = OBJECT(TDialogView)
  46.         fCard: TCard;
  47.         fClassNameItem: TEditText;
  48.         fSuperClassNameItem: TEditText;
  49.         fFieldEntryItem: TEditText;
  50.         fFieldEntryName: TStaticText;
  51.         fFieldTypeEntryItem: TEditText;
  52.         fFieldTypeEntryName: TStaticText;
  53.         fFieldTextListView: TFieldTextListView;
  54.         fMethodTextListView: TMethodTextListView;
  55.         fCollaboratorTextListView: TCollaboratorTextListView;
  56.         fItemTypeMenu: TPopUp;
  57.         fSuperClassTypeMenu: TPopUp;
  58.         fCollaboratorsMenu: TPopUp;
  59.         fTypeCluster: TCluster;
  60.         fOVERRIDEBox: TCheckBox;
  61.         fEditMode: INTEGER;
  62.         
  63.         FUNCTION TEditView.GetCard: TCard;
  64.         PROCEDURE TEditView.SetCard(theCard:TCard);
  65.         FUNCTION TEditView.GetFieldEntryView: TEditText;
  66.         PROCEDURE TEditView.SetFieldEntryView(theEntryView:TEditText);
  67.         FUNCTION TEditView.GetTypeEntryView: TEditText;
  68.         PROCEDURE TEditView.SetTypeEntryView(theEntryView:TEditText);
  69.         PROCEDURE TEditView.SetOurWindowTitle;
  70.         PROCEDURE TEditView.ChangeOurWindowTitle;
  71.         PROCEDURE TEditView.SetOurClassName;
  72.         FUNCTION TEditView.GetOurClassName: str255;
  73.         PROCEDURE TEditView.SetOurSuperClassName;
  74.         FUNCTION TEditView.GetOurSuperClassName: str255;
  75.         PROCEDURE TEditView.SetUpOurTextListViews;
  76.         PROCEDURE TEditView.SetUpOurEntryViews;
  77.         PROCEDURE TEditView.StuffFieldTypeEntryItem;
  78.         PROCEDURE TEditView.StuffSuperClassEntryItem;
  79.         FUNCTION TEditView.GetOVERRIDEBox: TCheckBox;
  80.         PROCEDURE TEditView.SetOVERRIDEBox(theBox:TCheckBox);
  81.         PROCEDURE TEditView.SetOVERRIDE(overrideIt:Boolean);
  82.         PROCEDURE TEditView.SetUpFieldsMode;
  83.         PROCEDURE TEditView.SetUpMethodsMode;
  84.         PROCEDURE TEditView.SetUpCollaboratorsMode;
  85.         PROCEDURE TEditView.AddCardToObjectLists(theCardToAdd: TCard);
  86.         PROCEDURE TEditView.RemoveCardFromObjectLists(theCardToRemove: TCard);
  87.         PROCEDURE TEditView.ChangeNameInObjectLists(theOldName, theNewName: Str255);
  88.         
  89.         PROCEDURE TEditView.IEditView(theCard: TCard);    {note: no IRes, need card}
  90.         FUNCTION TEditView.MakeChangeClassCmd: TChangeClassCommand;
  91.         FUNCTION TEditView.MakeChangeSuperClassCmd: TChangeSuperClassCommand;
  92.         FUNCTION TEditView.MakeAddFieldCmd: TAddFieldItemCommand;
  93.         FUNCTION TEditView.MakeChangeFieldCmd: TChangeFieldCommand;
  94.         FUNCTION TEditView.MakeAddMethodCmd: TAddMethodItemCommand;
  95.         FUNCTION TEditView.MakeChangeMethodCmd: TChangeMethodCommand;
  96.         FUNCTION TEditView.MakeAddCollabCmd: TAddCollaboratorItemCommand;
  97.         FUNCTION TEditView.MakeChangeCollaboratorCmd: TChangeCollaboratorCommand;
  98.         FUNCTION TEditView.MakeDeleteFieldCmd: TDeleteFieldItemCommand;
  99.         FUNCTION TEditView.MakeDeleteMethodCmd: TDeleteMethodItemCommand;
  100.         FUNCTION TEditView.MakeDeleteCollabCmd: TDeleteCollabItemCommand;
  101.         PROCEDURE TEditView.ChangeClassName(theName: str255);
  102.         PROCEDURE TEditView.ChangeSuperClassName(theName: str255);
  103.         FUNCTION TEditView.DoKeyCommand(ch: CHAR; aKeyCode: INTEGER; VAR info: EventInfo)
  104.                     : TCommand; OVERRIDE
  105.         FUNCTION  TEditView.DoMenuCommand(aCmdNumber: CmdNumber):TCommand;OVERRIDE;
  106.         PROCEDURE TEditView.DoSetupMenus; OVERRIDE;
  107.         PROCEDURE TEditView.AddField(theIndex: ArrayIndex);
  108.         PROCEDURE TEditView.AddFieldLast;
  109.         PROCEDURE TEditView.DeleteField(theIndex: INTEGER);
  110.         PROCEDURE TEditView.AddMethod(theIndex: ArrayIndex);
  111.         PROCEDURE TEditView.AddMethodLast;
  112.         PROCEDURE TEditView.DeleteMethod(theIndex: INTEGER);
  113.         PROCEDURE TEditView.AddCollaborator(theIndex: ArrayIndex);
  114.         PROCEDURE TEditView.AddCollaboratorLast;
  115.         PROCEDURE TEditView.DeleteCollaborator(theIndex: INTEGER);
  116.         PROCEDURE TEditView.AcceptNewClassName;
  117.         PROCEDURE TEditView.AcceptNewSuperClassName;
  118.         PROCEDURE TEditView.DoChoice(origView: TView; itsChoice: INTEGER); OVERRIDE;
  119.         PROCEDURE TEditView.DeselectFieldTextListView;
  120.         PROCEDURE TEditView.DeselectMethodTextListView;
  121.         PROCEDURE TEditView.DeselectCollaboratorTextListView;
  122.         PROCEDURE TEditView.DeactivateView;
  123.         PROCEDURE TEditView.Fields(PROCEDURE DoToField(fieldName: Str255; fieldAddr: Ptr; 
  124.                 fieldType: INTEGER)); OVERRIDE;
  125.     END;
  126.     
  127.     TParenStaticText = OBJECT(TStaticText)
  128.         PROCEDURE TParenStaticText.SetText(theText: Str255; redraw: BOOLEAN); OVERRIDE;
  129.     END;
  130.     
  131.     TSimpleView = OBJECT(TView)
  132.         fCard: TCard;
  133.         fClassTextView: TStaticText;
  134.         fSuperClassTextView: TParenStaticText;
  135.         fSelected: boolean;
  136.         fDragging: boolean;
  137.         
  138.         
  139.         FUNCTION TSimpleView.GetCard: TCard;
  140.         PROCEDURE TSimpleView.SetCard(theCard:TCard);
  141.         FUNCTION TSimpleView.GetClassView: TStaticText;
  142.         PROCEDURE TSimpleView.SetClassView(theClassView:TStaticText);
  143.         FUNCTION TSimpleView.GetSuperClassView: TParenStaticText;
  144.         PROCEDURE TSimpleView.SetSuperClassView(theSuperClassView:TParenStaticText);
  145.         FUNCTION TSimpleView.GetSelected: boolean;
  146.         PROCEDURE TSimpleView.SetSelected(turnItOn:boolean);
  147.         FUNCTION TSimpleView.GetDragging: boolean;
  148.         PROCEDURE TSimpleView.SetDragging(turnItOn:boolean);
  149.         
  150.         PROCEDURE TSimpleView.ISimpleView;    {the subview references}
  151.         PROCEDURE TSimpleView.IRes(itsDocument: TDocument; 
  152.                          itsSuperView: TView; VAR itsParams: Ptr); OVERRIDE;
  153.         PROCEDURE TSimpleView.ChangeClassName(theName: str255);
  154.         PROCEDURE TSimpleView.ChangeSuperClassName(theName: str255);
  155.         PROCEDURE TSimpleView.OpenEditView;
  156.         FUNCTION  TSimpleView.DoMouseCommand(VAR theMouse: Point;
  157.                 VAR info: EventInfo; VAR hysteresis: Point): TCommand; OVERRIDE;
  158.         PROCEDURE TSimpleView.DoHighlightSelection(fromHL, toHL: HLState); OVERRIDE;
  159.         PROCEDURE TSimpleView.Fields(PROCEDURE DoToField(fieldName: Str255; fieldAddr: Ptr; 
  160.                 fieldType: INTEGER)); OVERRIDE;
  161.     END;
  162.     
  163.     TCardWindow = OBJECT(TWindow)
  164.         fEditView: TEditView;
  165.         
  166.         PROCEDURE TCardWindow.ICardWindow(theEditView: TEditView);
  167.         PROCEDURE TCardWindow.Activate(entering : Boolean); OVERRIDE;
  168.     END;
  169.     
  170.     TNewButton = OBJECT(TButton)
  171.         fEditView: TEditView;
  172.         
  173.         FUNCTION TNewButton.GetEditView: TEditView;
  174.         PROCEDURE TNewButton.SetEditView(theEditView: TEditView);
  175.         PROCEDURE TNewButton.INewButton(theEditView: TEditView);
  176.         PROCEDURE TNewButton.DoChoice(origView: TView; itsChoice: INTEGER); OVERRIDE;
  177.     END;
  178.     
  179.     TNewFieldButton = OBJECT(TNewButton)
  180.         PROCEDURE TNewFieldButton.DoChoice(origView: TView; itsChoice: INTEGER); OVERRIDE;
  181.     END;
  182.     
  183.     TNewMethodButton = OBJECT(TNewButton)
  184.         PROCEDURE TNewMethodButton.DoChoice(origView: TView; itsChoice: INTEGER); OVERRIDE;
  185.     END;
  186.     
  187.     TNewCollaboratorButton = OBJECT(TNewButton)
  188.         PROCEDURE TNewCollaboratorButton.DoChoice(origView: TView; itsChoice: INTEGER); OVERRIDE;
  189.     END;
  190.     
  191.     TAcceptButton = OBJECT(TButton)
  192.         PROCEDURE TAcceptButton.IRes(itsDocument: TDocument; itsSuperView: TView;
  193.                                                                 VAR itsParams: Ptr); OVERRIDE;
  194.     END;
  195.  
  196.     TCancelButton = OBJECT(TButton)
  197.         PROCEDURE TCancelButton.IRes(itsDocument: TDocument; itsSuperView: TView;
  198.                                                                   VAR itsParams: Ptr); OVERRIDE;
  199.     END;
  200.  
  201.     TMyTextListView = OBJECT(TTextListView)
  202.         fItemList: TMyList;
  203.         fEditView: TEditView;
  204.         
  205.         FUNCTION TMyTextListView.GetEditView: TEditView;
  206.         PROCEDURE TMyTextListView.SetEditView(theEditView: TEditView);
  207.         FUNCTION TMyTextListView.GetItemList: TMyList;
  208.         PROCEDURE TMyTextListView.SetItemList(theList:TMyList);
  209.         PROCEDURE TMyTextListView.GetItemText(anItem: INTEGER; VAR aString: Str255); OVERRIDE;
  210.         FUNCTION TMyTextListView.GetNumRows: integer;
  211.         PROCEDURE TMyTextListView.DeselectTheView;
  212.         PROCEDURE TMyTextListView.StuffTheItemEditView(theItemNumber:INTEGER);
  213.         PROCEDURE TMyTextListView.UpdateTheItem(theWindow: TWindow; theItem: TItem);
  214.         FUNCTION TMyTextListView.GetTheItemToEdit(theItemNumber:INTEGER): TItem;
  215.         PROCEDURE TMyTextListView.SetEditField(kNameField: IDType; aString: Str255; 
  216.                     aWindow: TWindow);
  217.         FUNCTION TMyTextListView.GetEditField(kNameField: IDType; aWindow: TWindow): Str255;
  218.         PROCEDURE TMyTextListView.Fields(PROCEDURE DoToField(fieldName: Str255; fieldAddr: Ptr; 
  219.                 fieldType: INTEGER)); OVERRIDE;
  220.     END;
  221.     
  222.     TMethodTextListView = OBJECT(TMyTextListView)
  223.  
  224.         {Methods}
  225.         PROCEDURE TMethodTextListView.StuffTheItemEditView(theItemNumber:INTEGER); OVERRIDE;
  226.         PROCEDURE TMethodTextListView.SelectItem(anitem: INTEGER; 
  227.                                             extendSelection, highlight, select: BOOLEAN); OVERRIDE;
  228.         PROCEDURE TMethodTextListView.UpdateTheItem(theWindow: TWindow; 
  229.                     theItem: TItem); OVERRIDE;
  230.         FUNCTION TMethodTextListView.DoMouseCommand(VAR theMouse: Point;
  231.                     VAR info: EventInfo; VAR hysteresis: Point): TCommand; OVERRIDE;
  232.  
  233.     END;
  234.  
  235.     TModalTextListView = OBJECT(TMyTextListView)
  236.  
  237.         {Methods}
  238.         PROCEDURE TModalTextListView.StuffTheItemEditView(theItemNumber:INTEGER); OVERRIDE;
  239.         PROCEDURE TModalTextListView.UpdateTheItem(theWindow: TWindow; theItem: TItem); OVERRIDE;
  240.  
  241.     END;
  242.  
  243.     TCollaboratorTextListView = OBJECT(TModalTextListView)
  244.  
  245.         {Methods}
  246.         PROCEDURE TCollaboratorTextListView.SelectItem(anitem: INTEGER; 
  247.                                         extendSelection, highlight, select: BOOLEAN); OVERRIDE;
  248.         FUNCTION TCollaboratorTextListView.DoMouseCommand(VAR theMouse: Point;
  249.                     VAR info: EventInfo; VAR hysteresis: Point): TCommand; OVERRIDE;
  250.  
  251.     END;
  252.  
  253.     TFieldTextListView = OBJECT(TModalTextListView)
  254.  
  255.         {Methods}
  256.         PROCEDURE TFieldTextListView.SelectItem(anitem: INTEGER; 
  257.                                         extendSelection, highlight, select: BOOLEAN); OVERRIDE;
  258.         FUNCTION TFieldTextListView.DoMouseCommand(VAR theMouse: Point;
  259.                     VAR info: EventInfo; VAR hysteresis: Point): TCommand; OVERRIDE;
  260.  
  261.     END;
  262.  
  263.     TMyTEView = OBJECT(TTEView)
  264.         fDesignDocument: TDesignDocument;
  265.     
  266.         FUNCTION TMyTEView.GetDesignDoc: TDesignDocument;
  267.         PROCEDURE TMyTEView.SetDesignDoc(theDesignDoc: TDesignDocument);
  268.         PROCEDURE TMyTEView.DesignDocumentIsGone;
  269.         PROCEDURE TMyTEView.ClearText;
  270.         PROCEDURE TMyTEView.WriteToMyTEView(theString: str255);
  271.         PROCEDURE TMyTEView.WriteEndOfLine;
  272.         PROCEDURE TMyTEView.FinishWriteOperation;
  273.         PROCEDURE TMyTEView.Fields(PROCEDURE DoToField(fieldName: Str255; fieldAddr: Ptr; 
  274.                 fieldType: INTEGER)); OVERRIDE;
  275.     END;
  276.  
  277. IMPLEMENTATION
  278.  
  279. {$I UMyViews.inc1.p}
  280.  
  281. END.